草庐IT

python - Django 测试 VS pytest

全部标签

unit-testing - 使用 Gorilla MUX 对 App Engine 进行单元测试

我想为GoogleAppEngine中的处理程序编写测试,这些处理程序使用Gorillamux从请求URL读取变量。我从documentation了解到您可以创建一个虚假的上下文并请求用于测试。我在测试中直接调用处理程序,但处理程序没有按预期看到路径参数。funcTestRouter(t*testing.T){inst,_:=aetest.NewInstance(nil)//ignoringerrorforbrevitydeferinst.Close()//triedaddingthislinebecausethetestwouldnotworkwithorwithoutithttpt

testing - 如何重写此 select 语句以保证 100% 的测试覆盖率?

这让我疯狂。假设我有以下功能:funcMap(quit对于从src接收到的每个值v,它在dst上发送f(v),直到src或quit关闭且为空或从quit接收到值。现在,假设我想编写一个测试来证明它可以被取消:funcTestMapCancel(t*testing.T){varwgsync.WaitGroupquit:=make(chanstruct{})success:=make(chanstruct{})wg.Add(3)src:=//channelprovidingarbitraryvaluesuntilquitiscloseddst:=make(chaninterface{})/

testing - 去测试特定的文件输出

我是Go的新手,正在尝试从事一个项目。代码结构如下handlers/-time.go-time_test.go我已经试过gobuild,make(project)name问题是,我想在代码中添加一些控制台输出,以便我知道分支是否被覆盖(或用于调试)。现在,它对我不起作用。如果我使用:gotest-runtest_file_path如果只是输出Pass0.009s甚至我将t.Log("printlog")甚至fmt.Print("SayHello")放在测试函数中。如果我只使用gotest-vtest_file_path我会有undefinedvariable。构建和测试将失败。有什么建

testing - Go 测试覆盖率中的 covered 和 not tracked 是什么意思?

我已经启动了一个小型Go应用程序来对其进行测试和学习。在主包中,我有一个main.go,例如一个名为NewApp的函数。在我的测试文件中,我多次调用它,但在覆盖率报告中,它的第一行被标记为“未跟踪”。此函数返回一个Appstruct,但整个结构定义被标记为“未跟踪”。另一方面,我无法理解“未覆盖”和“未跟踪”之间的区别。有没有办法测试主要功能?我看不出这样做有什么好处。我的密码是here. 最佳答案 谢谢,所以“未跟踪”它不在覆盖百分比中考虑。 关于testing-Go测试覆盖率中的co

unit-testing - 在 go api 调用中测试

我想为我的api编写测试用例,例如:数据库查询失败、代码错误、响应错误等。所以我在Controller文件夹中创建了一个名为controller_test.go的文件。这是我的代码:packagecontrollersimport("net/http""testing""net/http/httptest")func(imcImessageSoundController)TestHealthCheckHandler(t*testing.T){req,err:=http.NewRequest("GET","sound/imessage_sound",nil)iferr!=nil{t.Fa

go - 如何完全关闭 glog 以运行 go 测试?

我正在为我的代码编写测试代码,并希望获得100%的代码覆盖率。这意味着测试调用glog.Fatal()的极端情况。所以我需要做的第一件事是禁用glog的任何输出,因为我没有测试glog。因此,我可以运行gotest而无需在/tmp中生成文件或向stderr发送消息。我需要的第二件事是调用os.Exit()的glog.Fatal()调用不会干扰运行测试。我怎样才能做到这一点? 最佳答案 你应该可以通过编程到glog接口(interface)来实现它。我不确定那是什么,但它可能看起来像typeLoggerinterface{Fatal(

unit-testing - 我如何对文本将出现在屏幕中央进行单元测试?

这是一个小脚本。packagebashutilimport("fmt""github.com/nsf/termbox-go")funcCenter(sstring){iferr:=termbox.Init();err!=nil{panic(err)}w,_:=termbox.Size()termbox.Close()fmt.Printf(fmt.Sprintf("%%-%ds",w/2),fmt.Sprintf(fmt.Sprintf("%%%ds",w/2+len(s)/2),s),)}我可以对其进行单元测试吗?我怎样才能测试它?我认为测试一个片段这么少是胡说八道。但是,...如果我

Python:使用while循环嵌套方法打印出星星矩阵的五种形状

1.在控制台中打印出5*5的星星矩阵:* * * * ** * * * ** * * * ** * * * ** * * * *i=0whilei2.在控制台中打印出逐行递减的星星矩阵(1*5),其中空格在后:*       * *     * * *     * * * *    * * * * *i=0#i表示行数,i=0表示第一行whilei3.在控制台中打印出逐行递减的星星矩阵(5*1),其中空格在后: * * * * *   * * * *    * * *    * *     * i=0#i表示行数,i=0表示第一行whileii:#内循环控制矩阵的宽度print('*',end

testing - golang 单元测试 : inner function parameters

我在go函数中的工作流程很简单,但是当进行单元测试时,我卡在了将参数传递给内部函数,或者模拟内部函数返回结果。代码:packagemyFuncimport(myPackagebookPackage)funcInit()(errerror){err=getResource(myPackage.GetPath())...}funcgetResource(pathstring)(errerror){//getresourcefrompath...err:=bookPackage.GetBook(path)}测试:packagemyFuncimport"testing"funcTestInit

go - 运行测试时“无法创建临时输出文件”

这是我的配置:当我尝试运行测试时,出现错误Cannotcreatetemporaryouputfile。正如我所见,这里没有设置Outputdirectory。如何在Gogland中运行测试? 最佳答案 你确定你的工作目录是正确的吗?D:看起来像Windows/development/gopath/...是Linux 关于go-运行测试时“无法创建临时输出文件”,我们在StackOverflow上找到一个类似的问题: https://stackoverflow